﻿Imports System.ServiceModel

Namespace Contract

    <ServiceContract()> _
    Public Interface IApplicationService

        <OperationContract()> _
        Function IsFavorite(ByVal stationId As String) As Boolean

        <OperationContract()> _
        Sub AddFavorite(ByVal stationId As String)

        <OperationContract()> _
        Sub Register(ByVal applicationId As Guid, ByVal path As String)

        <OperationContract()> _
        Function GetFavoriteStations() As IList(Of Model.Station)

        <OperationContract()> _
        Function GetAlertedLivePrograms() As IList(Of Model.LiveProgram)

        <OperationContract()> _
        Function GetAllLivePrograms() As IList(Of Model.LiveProgram)

#Region "Misc API"

        <OperationContract()> _
        Function GetVoteCountCombination(ByVal percentCombination As IList(Of Integer)) As IList(Of Integer)

        <OperationContract()> _
        Sub StartTimer(ByVal id As String, ByVal time As TimeSpan)

        <OperationContract()> _
        Sub StopTimer(ByVal id As String)

#End Region

    End Interface

End Namespace

